"""
@Project: pythonPro1
@Name: _02roi.py
@Author: linxin_liu
@Date: 2022/10/12 10:44
"""
# roi: region of interest 感兴趣的区域，截取部分图像数据。
import cv2


def cv_show(windows_name, image, time):
    cv2.imshow(windows_name, image)  # 创建一个窗口，命名为Image，并展示窗口
    cv2.waitKey(time)  # 窗口显示时间，参数为0表示按任意键销毁
    cv2.destroyAllWindows()  # 销毁所有窗口


img = cv2.imread('D:/tools/image_operation/cat.png')
sub_img = img[50:100, 100:150]  # 截取x从50到100像素，y从100到150像素的区域。
cv_show('sub_img', sub_img, 1000)
b, g, r = cv2.split(img)  # 颜色通道提取
print(img)
print('图片的大小(长x宽)(像素): ', b.shape)  # 每个通道的大小是一样的。
img_after = cv2.merge((b, g, r))  # 融合三个通道的像素形成一张彩图。
print('图像的形态：', img_after.shape)
# B, G, R -> 索引为 0, 1, 2 只保留R
current_img = img.copy()
current_img[:, :, 0] = 0  # ndarray才可以有这个操作
current_img[:, :, 1] = 0  #
cv_show('current_img', current_img, 1000)
print('=============================================================')
print(current_img)
b, g, r = cv2.split(current_img)  # 颜色通道提取
print('=============================================================')
print(g)
